package com.dingreading.cloud.admin.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类。
 *
 * @author Administrator
 * @since 2023-11-24
 */
@Data
@Table(value = "store_menu")
public class StoreMenu implements Serializable {

    @Id(keyType = KeyType.Auto)
    private Long id;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(onInsertValue = "now()")
    private Date addTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    private Date editTime;


    /**
     * 上级菜单ID
     */
    @ApiModelProperty(value = "上级菜单ID")
    private Long parentId;

    /**
     * 层级节点
     */
    @ApiModelProperty(value = "层级节点")
    private String nodes;

    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单名称")
    private String name;

    /**
     * 路径地址path
     */
    @ApiModelProperty(value = "路径地址path")
    private String path;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标")
    private String icon;

    @ApiModelProperty(value = "标题")
    private String component;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "是否菜单")
    private Boolean isMenu;

    @ApiModelProperty(value = "是否父级菜单")
    private Boolean isParentMenu;

    /**
     * 序号
     */
    @ApiModelProperty(value = "序号")
    private Integer orderNum;

    /**
     * 门店使用权限  1.自营+加盟 2.自营 3.加盟店
     */
    @ApiModelProperty(value = "门店使用权限")
    private Integer selfStatus;

    /**
     * 创建人uid
     */
    @ApiModelProperty(value = "创建人uid")
    private String addStaffUid;

    /**
     * 创建人姓名
     */
    @ApiModelProperty(value = "创建人姓名")
    private String addStaffName;

    /**
     * 更新人uid
     */
    @ApiModelProperty(value = "更新人uid")
    private String lastStaffUid;

    /**
     * 更新人姓名
     */
    @ApiModelProperty(value = "更新人姓名")
    private String lastStaffName;

    /**
     * 门店合作类型
     */
    @ApiModelProperty(value = "门店合作类型")
    private String cooperationType;

    /**
     * 门店运营类型
     */
    @ApiModelProperty(value = "门店运营类型")
    private String operationType;

    /**
     * 状态 1.启用 0.禁用
     */
    @ApiModelProperty(value = "商品状态 1.启用 0.禁用")
    private Integer enabled;

}
